package string;

import java.util.Arrays;

/**
 * String支持正则表达式的方法二:
 * String[] split(String regex)
 * 将当前字符串满足正则表达式的部分进行拆分, 将拆分出的所有部分以数组的形式返回
 */
public class SplitDemo {
    public static void main(String[] args) {
        String line = "abc123rsoihg4154d";
        String[] array  = line.split("[0-9]+");
        System.out.println(Arrays.toString(array));//[abc, rsoihg, d]
        /*
            如果连续遇到可拆分项时，中间会拆分出一个空字符串
         */
        line = "abc==def=ghi";
        array  = line.split("=");
        System.out.println(Arrays.toString(array));//[abc, , def, ghi]
        /*
        字符最开始就是可拆分项时, 那么拆分出的第一个内容就是一个空字符串
         */
        line = "==abc=def=ghi";
        array  = line.split("=");
        System.out.println(Arrays.toString(array));//[, , abc, def, ghi]
        /*
        如果是末尾连续出现可拆分项时, 那么所有拆分出来的空字符串都会被忽略
         */
        line = "abc=def=ghi====";
        array  = line.split("=");
        System.out.println(Arrays.toString(array));//[abc, def, ghi]
        line = "abc=def=ghi====h";
        array  = line.split("=");
        System.out.println(Arrays.toString(array));//[abc, def, ghi, , , , h]
    }
}
